Physical properties of a block for problems of stress analysis.
The LabelBlockSA object represents physical data applicable to the block label for stress analysis problems.
When you need to set or modify some physical parameters for the block label, you have to get the LabelBlockSA object using the Content property of the Label object, modify the LabelBlockSA object using its properties, and then put it back in the Label object assigning your LabelBlockSA to the Content property of your Label object.
The LabelBlockSA object inherits methods and properties from its base class LabelBlock. In addition, it provides properties specific for stress analysis. Because of the rather large number of the block parameters, some of them are accessible by more than one property.
In the most general case a block label can have up to seven independent elasticity constants. There are Young's moduli (three directions), Poisson ratios (three directions) and a Shear modulus. If the material is isotropic, there are only three different parameters (Young's modulus, Poisson ration and shear modulus) and only two of them are independent.
For the block label describing an isotropic material you can use a simplified version of elasticity properties.
Young property
|
Get and set the Young's modulus for an isotropic material in (N/m2).
|
Poisson property
|
Gets and sets a Poisson ratio for an isotropic material.
|
Shear property
|
Gets and sets a Shear modulus for an isotropic material in (N/m2).
|
Please note that when you set the Young, Poisson or Shear property, you also implicitly change another property of this group, because only two of them are independent for an isotropic material.
For anisotropic materials, you have to use the Elasticity property.
Gets and sets all seven elasticity constants as the Elast structure. |
There are two kinds of loadings that can be applied to the block: thermal strain and distributed body force.
The thermal strain is described by the set of thermal expansion coefficients and the predefined temperature value. If your material is isotropic you can use the ThermalExpansion property that sets all three coefficient to the same value. In the case of anisotropic materials, use the ThermalExpansionAniz property.
Two components of the body force density are described by the BodyForceX and BodyForceY properties. They get and set a LinFunc user-defined type, which contains three numbers describing a body force density as a linear function of coordinates.
ThermalExpansion property
|
Gets and sets a coefficient of thermal expansion for an isotropic material.
|
ThermalExpansionAniz property
|
Gets and sets three thermal expansion coefficients a modulus for an anisotropic material as the Vector3D user-defined type. |
Temperature property
|
Gets and sets the temperature value in Celsius degrees.
|
BodyForceX and
|
Gets and sets the body force density in form of a linear function of coordinates. |
Allowable stresses are only used in the postprocessing stage to calculate the Mohr-Coulomb, Drucker-Prager, and Hill criteria. You don't need to define allowable stresses, if these criteria are of no interest to you.
Gets and sets the allowable stresses as the HMatrix object.
|
The fragment below in Visual Basic sets the isotropic properties to the label "Metal" and then creates a new label "Lamination" and sets it to anisotropic elastic properties and thermal expansion coefficients.
Dim lb As QuickField.Label
Dim lbSA As QuickField.LabelBlockSA
' Set data for isotropic material
Set lb = prb.Labels(qfBlock).Item("Metal")
Set lbSA = lb.Content
With lbSA
' Elasticity constants
.Young = 200000000000#
.Poisson = 0.3
' Thermal strains
.ThermalExpansion = 0.0000115
.Temperature = 100
' Body force density
Dim lf As LinFunc
lf.a = 10000#
lf.b = 0
lf.c = 0
.BodyForceX = lf
lf.a = 20000#
.BodyForceY = lf
' Allowable stresses
Dim hm As QuickField.HMatrix
Set hm = .AllowableStress
hm.xx = 300000000#
hm.yy = 300000000#
hm.yx = 300000000#
.AllowableStress = hm
End With
lb.Content = lbSA
' Set data for anisotropic material
Set lb = prb.Labels(qfBlock).Add
lb.Name = "Lamination"
Set lbSA = lb.Content
With lbSA
' Elasticity constants
Dim el As Elast
el.E.X = 200000000000#
el.E.Y = 250000000000#
el.E.Z = 150000000000#
el.Nu.X = 0.3
el.Nu.Y = 0.25
el.Nu.Z = 0.25
el.Gxy = 100000000000#
.Elasticity = el
' Thermal strains
Dim v As Vector3D
v.X = 0.000011
v.Y = 0.0000055
v.Z = 0.000008
.ThermalExpansionAniz = v
.Temperature = 100
End With
lb.Content = lbSA